<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>My Project: CacheMap.h 文件参考</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">My Project
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">载入中...</div>
<div class="SRStatus" id="Searching">搜索中...</div>
<div class="SRStatus" id="NoMatches">未找到</div>
</div>
</div>
</div>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">类</a> &#124;
<a href="#namespaces">命名空间</a> &#124;
<a href="#define-members">宏定义</a> &#124;
<a href="#typedef-members">类型定义</a>  </div>
  <div class="headertitle"><div class="title">CacheMap.h 文件参考</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;trantor/net/EventLoop.h&gt;</code><br />
<code>#include &lt;trantor/utils/Logger.h&gt;</code><br />
<code>#include &lt;atomic&gt;</code><br />
<code>#include &lt;deque&gt;</code><br />
<code>#include &lt;map&gt;</code><br />
<code>#include &lt;mutex&gt;</code><br />
<code>#include &lt;set&gt;</code><br />
<code>#include &lt;unordered_map&gt;</code><br />
<code>#include &lt;unordered_set&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
<code>#include &lt;future&gt;</code><br />
<code>#include &lt;assert.h&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
CacheMap.h 的引用(Include)关系图:</div>
<div class="dyncontent">
<div class="center"><img src="CacheMap_8h__incl.png" border="0" usemap="#aCacheMap_8h" alt=""/></div>
<map name="aCacheMap_8h" id="aCacheMap_8h">
<area shape="rect" title=" " alt="" coords="659,5,761,31"/>
<area shape="rect" title=" " alt="" coords="5,79,180,104"/>
<area shape="poly" title=" " alt="" coords="659,28,194,81,193,76,658,23"/>
<area shape="rect" title=" " alt="" coords="205,79,362,104"/>
<area shape="poly" title=" " alt="" coords="659,30,366,79,365,74,658,25"/>
<area shape="rect" title=" " alt="" coords="386,79,453,104"/>
<area shape="poly" title=" " alt="" coords="663,33,467,81,466,76,662,28"/>
<area shape="rect" title=" " alt="" coords="477,79,540,104"/>
<area shape="poly" title=" " alt="" coords="679,33,554,77,552,72,677,28"/>
<area shape="rect" title=" " alt="" coords="565,79,615,104"/>
<area shape="poly" title=" " alt="" coords="692,33,623,74,620,69,689,28"/>
<area shape="rect" title=" " alt="" coords="639,79,703,104"/>
<area shape="poly" title=" " alt="" coords="706,32,686,68,682,65,701,30"/>
<area shape="rect" title=" " alt="" coords="727,79,770,104"/>
<area shape="poly" title=" " alt="" coords="719,30,738,65,734,68,714,32"/>
<area shape="rect" title=" " alt="" coords="795,79,919,104"/>
<area shape="poly" title=" " alt="" coords="735,28,822,70,819,75,732,33"/>
<area shape="rect" title=" " alt="" coords="943,79,1058,104"/>
<area shape="poly" title=" " alt="" coords="757,28,941,73,940,78,756,33"/>
<area shape="rect" title=" " alt="" coords="1083,79,1145,104"/>
<area shape="poly" title=" " alt="" coords="762,24,897,44,1070,76,1069,81,896,50,761,29"/>
<area shape="rect" title=" " alt="" coords="1170,79,1231,104"/>
<area shape="poly" title=" " alt="" coords="762,21,933,41,1043,56,1157,76,1156,81,1042,62,933,46,761,27"/>
<area shape="rect" title=" " alt="" coords="1255,79,1330,104"/>
<area shape="poly" title=" " alt="" coords="762,20,968,39,1103,55,1242,76,1241,81,1102,61,967,45,761,26"/>
</map>
</div>
</div><div class="textblock"><div class="dynheader">
此图展示该文件直接或间接的被哪些文件引用了:</div>
<div class="dyncontent">
<div class="center"><img src="CacheMap_8h__dep__incl.png" border="0" usemap="#aCacheMap_8hdep" alt=""/></div>
<map name="aCacheMap_8hdep" id="aCacheMap_8hdep">
<area shape="rect" title=" " alt="" coords="481,5,583,31"/>
<area shape="rect" href="HttpAppFramework_8h.html" title=" " alt="" coords="301,79,461,104"/>
<area shape="poly" title=" " alt="" coords="497,39,407,81,405,76,494,34"/>
<area shape="rect" href="drogon_8h.html" title=" " alt="" coords="251,225,330,251"/>
<area shape="poly" title=" " alt="" coords="588,32,656,56,721,89,745,109,761,131,763,154,750,179,727,191,687,201,569,218,331,237,330,232,568,213,686,196,726,186,746,175,758,153,756,132,741,112,718,94,654,61,586,37"/>
<area shape="rect" href="HttpController_8h.html" title=" " alt="" coords="5,152,131,177"/>
<area shape="poly" title=" " alt="" coords="318,110,119,154,118,149,317,104"/>
<area shape="poly" title=" " alt="" coords="288,102,262,109,237,120,214,134,196,153,191,164,191,173,205,193,231,209,259,223,257,227,228,214,202,197,186,175,186,163,191,151,211,130,234,115,260,104,287,97"/>
<area shape="rect" href="HttpSimpleController_8h.html" title=" " alt="" coords="205,152,376,177"/>
<area shape="poly" title=" " alt="" coords="357,115,307,154,304,150,354,110"/>
<area shape="rect" href="IOThreadStorage_8h.html" title=" " alt="" coords="401,152,543,177"/>
<area shape="poly" title=" " alt="" coords="408,110,459,150,456,154,405,115"/>
<area shape="rect" href="WebSocketController_8h.html" title=" " alt="" coords="568,152,736,177"/>
<area shape="poly" title=" " alt="" coords="439,105,609,149,607,154,437,110"/>
<area shape="poly" title=" " alt="" coords="117,179,255,223,254,228,116,184"/>
<area shape="poly" title=" " alt="" coords="293,191,293,225,288,225,288,191"/>
<area shape="poly" title=" " alt="" coords="431,185,321,228,319,223,429,180"/>
</map>
</div>
</div>
<p><a href="CacheMap_8h_source.html">浏览源代码.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
类</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdrogon_1_1CallbackEntry.html">drogon::CallbackEntry</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A utility class for <a class="el" href="classdrogon_1_1CacheMap.html" title="Cache Map">CacheMap</a>  <a href="classdrogon_1_1CallbackEntry.html#details">更多...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdrogon_1_1CacheMap.html">drogon::CacheMap&lt; T1, T2 &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cache Map  <a href="classdrogon_1_1CacheMap.html#details">更多...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdrogon_1_1CacheMap_1_1MapValue.html">drogon::CacheMap&lt; T1, T2 &gt;::MapValue</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
命名空间</h2></td></tr>
<tr class="memitem:namespacedrogon" id="r_namespacedrogon"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedrogon.html">drogon</a></td></tr>
<tr class="memdesc:namespacedrogon"><td class="mdescLeft">&#160;</td><td class="mdescRight">Drogon Test is a minimal effort test framework developed because the major C++ test frameworks doesn't handle async programs well. Drogon Test's syntax is inspired by both Google Test and Catch2 <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
宏定义</h2></td></tr>
<tr class="memitem:a5bf4d6b54debb8fed97c0e7f4ac8e917" id="r_a5bf4d6b54debb8fed97c0e7f4ac8e917"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="CacheMap_8h.html#a5bf4d6b54debb8fed97c0e7f4ac8e917">WHEELS_NUM</a>&#160;&#160;&#160;4</td></tr>
<tr class="separator:a5bf4d6b54debb8fed97c0e7f4ac8e917"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe38e091c33d2f4c6f379b6b4ba55bbf" id="r_afe38e091c33d2f4c6f379b6b4ba55bbf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="CacheMap_8h.html#afe38e091c33d2f4c6f379b6b4ba55bbf">BUCKET_NUM_PER_WHEEL</a>&#160;&#160;&#160;200</td></tr>
<tr class="separator:afe38e091c33d2f4c6f379b6b4ba55bbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75ffb1897670af90b6941ea94114a3b5" id="r_a75ffb1897670af90b6941ea94114a3b5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="CacheMap_8h.html#a75ffb1897670af90b6941ea94114a3b5">TICK_INTERVAL</a>&#160;&#160;&#160;1.0</td></tr>
<tr class="separator:a75ffb1897670af90b6941ea94114a3b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
类型定义</h2></td></tr>
<tr class="memitem:a7f9a54cae666887d0d919985d4e27104" id="r_a7f9a54cae666887d0d919985d4e27104"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedrogon.html#a7f9a54cae666887d0d919985d4e27104">drogon::CallbackEntryPtr</a> = std::shared_ptr&lt; <a class="el" href="classdrogon_1_1CallbackEntry.html">CallbackEntry</a> &gt;</td></tr>
<tr class="separator:a7f9a54cae666887d0d919985d4e27104"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02f3f4b92fea1cbde55e1f30c476ae9e" id="r_a02f3f4b92fea1cbde55e1f30c476ae9e"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedrogon.html#a02f3f4b92fea1cbde55e1f30c476ae9e">drogon::WeakCallbackEntryPtr</a> = std::weak_ptr&lt; <a class="el" href="classdrogon_1_1CallbackEntry.html">CallbackEntry</a> &gt;</td></tr>
<tr class="separator:a02f3f4b92fea1cbde55e1f30c476ae9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6dbbafbb0ea804b4b3885deb5b156a5" id="r_ac6dbbafbb0ea804b4b3885deb5b156a5"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedrogon.html#ac6dbbafbb0ea804b4b3885deb5b156a5">drogon::CallbackBucket</a> = std::unordered_set&lt; <a class="el" href="namespacedrogon.html#a7f9a54cae666887d0d919985d4e27104">CallbackEntryPtr</a> &gt;</td></tr>
<tr class="separator:ac6dbbafbb0ea804b4b3885deb5b156a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a744e559873c7adbb73657e5a876ea7d7" id="r_a744e559873c7adbb73657e5a876ea7d7"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedrogon.html#a744e559873c7adbb73657e5a876ea7d7">drogon::CallbackBucketQueue</a> = std::deque&lt; <a class="el" href="namespacedrogon.html#ac6dbbafbb0ea804b4b3885deb5b156a5">CallbackBucket</a> &gt;</td></tr>
<tr class="separator:a744e559873c7adbb73657e5a876ea7d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">详细描述</h2>
<div class="textblock"><p>An Tao</p>
<p>Copyright 2018, An Tao. All rights reserved. <a href="https://github.com/an-tao/drogon">https://github.com/an-tao/drogon</a> Use of this source code is governed by a MIT license that can be found in the License file.</p>
<p>Drogon </p>
</div><h2 class="groupheader">宏定义说明</h2>
<a id="afe38e091c33d2f4c6f379b6b4ba55bbf" name="afe38e091c33d2f4c6f379b6b4ba55bbf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afe38e091c33d2f4c6f379b6b4ba55bbf">&#9670;&#160;</a></span>BUCKET_NUM_PER_WHEEL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define BUCKET_NUM_PER_WHEEL&#160;&#160;&#160;200</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a75ffb1897670af90b6941ea94114a3b5" name="a75ffb1897670af90b6941ea94114a3b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a75ffb1897670af90b6941ea94114a3b5">&#9670;&#160;</a></span>TICK_INTERVAL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TICK_INTERVAL&#160;&#160;&#160;1.0</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a5bf4d6b54debb8fed97c0e7f4ac8e917" name="a5bf4d6b54debb8fed97c0e7f4ac8e917"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5bf4d6b54debb8fed97c0e7f4ac8e917">&#9670;&#160;</a></span>WHEELS_NUM</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define WHEELS_NUM&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>
